#!/bin/bash

# start_front.sh - 构建前端 Vue 项目（不部署）

# 获取脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
CODE_DIR="$SCRIPT_DIR/../code"

echo "=================================="
echo "✅ 构建前端项目（不自动部署）"
echo "项目根目录: $SCRIPT_DIR"
echo "代码目录: $CODE_DIR"
echo "⚠️  静态资源需通过 sync_nginx.sh 手动同步"
echo "=================================="

# 函数：检查目录是否存在
check_dir() {
    if [ ! -d "$1" ]; then
        echo "❌ 错误：目录不存在 -> $1"
        exit 1
    fi
}

# 函数：构建 Vue 项目（不部署）
build_frontend() {
    local src_dir="$1"
    local name="$2"

    check_dir "$src_dir"
    echo "🎨 构建 $name 前端项目..."
    cd "$src_dir" || exit 1

    npm install --silent
    npm run build > "$SCRIPT_DIR/front_logs/build-$name.log" 2>&1

    # 检查构建输出
    if [ ! -d "dist" ]; then
        echo "❌ 构建失败：未生成 dist 目录，请检查日志 $SCRIPT_DIR/front_logs/build-$name.log"
        exit 1
    fi

    echo "✅ $name 前端构建成功！产物位于: $src_dir/dist"
    echo "📌 待后续由 sync_nginx.sh 同步到 Nginx"
}

# 确保日志目录存在
mkdir -p "$SCRIPT_DIR/front_logs"

# ========== 开始构建前端 ==========
echo "📦 开始构建前端项目..."

build_frontend "$CODE_DIR/user" "user"
build_frontend "$CODE_DIR/admin" "admin"

# 提示下一步操作
echo ""
echo "✅ 所有前端项目构建完成！🎉"
echo ""
echo "💡 下一步建议执行同步脚本："
echo "   ./sync_nginx.sh"
echo ""
echo "📋 构建产物路径："
echo "   用户端: $CODE_DIR/user/dist"
echo "   管理端: $CODE_DIR/admin/dist"
echo ""
echo "📄 构建日志："
echo "   tail -f front_logs/build-user.log"
echo "   tail -f front_logs/build-admin.log"
